/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package Common;

import at.falb.games.alcatraz.api.Player;
import at.falb.games.alcatraz.api.Prisoner;
import java.rmi.Remote;
import java.rmi.RemoteException;
import java.util.List;
import java.util.Vector;

/**
 *
 * @author Mario,Thomas,Max,Martin,Sergio
 */
public interface IClient extends Remote {

    /*Die Maximalen Verbidnungsversuche bis ein Client als tot gilt.     */
    public Integer MAX_SENDTRIES = 5;

    /* Die Wartezeit in ms. bis man wieder einen Versuch startet die anderen Clients zu erreiche.     */
    public Integer WAIT_PERIOD = 3000;

    public Boolean IsAlive() throws RemoteException;

    public void DoRemoteMove(Player player, Prisoner prisoner, int rowOrCol, int row, int col) throws RemoteException;

    public void DoStartGame(Vector<IClient> others,IClient firstPlayer) throws RemoteException;

    public void AnnounceMasterServer(IGameServer masterserver) throws RemoteException;

    public String GetPlayerName() throws RemoteException;
}
